package info.pello.struts2;


import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


public class NominaAction extends ActionSupport implements ModelDriven<Nomina> {

	private static final long serialVersionUID = -6659354552584240539L;

	
	private Nomina jugador = new Nomina();
	private List<Nomina> listaNominaes = new ArrayList<Nomina>();
	private NominaDAO jugadorDAO = new NominaDAO();
	//private List<Trabajador> trabajadors;
	private TrabajadorDAO trabajadorDAO = new TrabajadorDAO();
	
	@Override
	public Nomina getModel() {
		return jugador;
	}
	
	/**
	 * To save or update user.
	 * @return String
	 */
	public String guardarOActualizar()
	{	
		jugadorDAO.guardarOActualizarNomina(jugador);
		return SUCCESS;
	}
	
	/**
	 * To list all users.
	 * @return String
	 */
	public String listar()
	{
		listaNominaes = jugadorDAO.listarNominaes();
		return SUCCESS;
	}
	
	/**
	 * To delete a user.
	 * @return String
	 */
	public String eliminar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		jugadorDAO.eliminarNomina(Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	/**
	 * To list a single user by Id.
	 * @return String
	 */
	public String editar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		jugador = jugadorDAO.listarNominaPorId(Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	public Nomina getNomina() {
		return jugador;
	}

	public void setNomina(Nomina jugador) {
		this.jugador = jugador;
	}

	public List<Nomina> getListaNominas() {
		return listaNominaes;
	}

	public void setListaNominas(List<Nomina> listaNominaes) {
		this.listaNominaes = listaNominaes;
	}
	
	public List<Trabajador> getTrabajadors() {

		return trabajadorDAO.listarTrabajadors();
	}

	/**
	 * @return the trabajadorDAO
	 */
	public TrabajadorDAO getTrabajadorDAO() {
		return trabajadorDAO;
	}

	/**
	 * @param trabajadorDAO the trabajadorDAO to set
	 */
	public void setTrabajadorDAO(TrabajadorDAO trabajadorDAO) {
		this.trabajadorDAO = trabajadorDAO;
	}


}
